With the growth of Video Conferencing, there has also been increased interest in recording such videoconferences. This may be done, for example, to allow people to refer back to what happened in a meeting, or, alternatively, a person may wish to view a conference that they have not taken part in or were not available for. It also allows a user to record a presentation which can then be viewed later as part of a videoconference.
Currently, as illustrated in FIG. 1, to record a videoconference on a Video Conference Recorder (VCR) 10 the Multi-Conference Unit 12 dials the VCR 10 as if it were an endpoint. The MCU 12 then proceeds to send the VCR 10 conference data over a data connection 14. The conference data is then stored by the VCR 10 in its memory 16. It should be noted that no data is sent from the VCR 10 to the MCU 12. The data is stored in the format in which it was sent to the VCR 10. For example, if the data is sent across the network 18 using the H.323 protocol standard as defined by the International Telecommunications Union then it will be stored in the data format dictated by this protocol.
FIG. 2 illustrates the network setup for playing back a videoconference which has been stored in the VCR's memory 16. In order to do this a user can dial directly into a VCR using a conventional video endpoint 20 such as an H.323 endpoint. The VCR 10 will then retrieve the data for that conference from the VCR's memory 16 and feed back the signal through connections 14 and 22 and communications network 18 to the endpoint 20 as if the VCR 10 itself were an endpoint. The VCR 10 does not process the video data in any way and only sends back the data in its original format.
There are significant disadvantages to recording video in this manner. Firstly, when video data is transmitted across the network it is sent in a compressed format using frames containing differences in information (also known as P-frames) and occasional keyframes (also known as I-frames). These frames may be divided up further into macroblocks. Each of these macroblocks can then either be an I-macroblock, containing all the information required for an image, or a P-macroblock, containing information regarding the differences between images. Frames are generally transmitted across the network as a combination of I-macroblocks and P-macroblocks
In a live data stream transmission errors may be recovered by the endpoint sending a keyframe request to the data source resulting in the data source transmitting a keyframe. In video playback from a VCR 10, however, the keyframes and I-macroblocks are fixed within the stored data. Therefore, if a data packet is lost during transmission of the data from the VCR to the endpoint then there is no way for the VCR to reconstruct a keyframe in order to enable the endpoint to resynchronise to the data stream. This will cause the picture to be distorted for an extended period until all the picture elements (encoded as macroblocks) have been retransmitted as I-macroblocks. This results in degradation of the viewing experience at the endpoint.
A second disadvantage is that the VCR is only able to transmit the data in the format in which it is received. Therefore, a user is restricted to viewing recordings using a traditional video enabled endpoint such as an H.323 endpoint. However, a common means of viewing digital video is to use a “streaming player” program such as RealPlayer, QuickTime or Windows Media Player running on a streaming endpoint, for example, a standard personal computer 24. These programs have the capability to play real time video streaming formats but would not be able to view the data stream directly. In order to allow a user at a streaming endpoint to view the stored data a “transcoder” 26 is required to convert the data from the format in which it was originally recorded into one which the streaming endpoint 24 is able to process as illustrated in FIG. 2.
The transcoder 26 is an offline device which takes a file in its original format from the VCR's memory 16, converts it into the appropriate format, for example into a Windows Media Player version 9 (WM9) file, and then stores it back in the VCR's memory 16. The endpoint can then subsequently retrieve the transcoded copy from the VCR. This offline transcoding cannot start until the original recording is complete, and may only be able to transcode to one format at a time. Consequently users at streaming endpoints have to wait for their desired playback format to become available some time after the recording was made.